package com.fcscs.cservice.gwt.client;

import java.util.Date;
import java.util.List;

import com.fcscs.core.common.SearchResultsContainer;
import com.fcscs.cservice.domain.model.InRoomOrderView;
import com.fcscs.cservice.domain.model.OrderView;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface InRoomServiceAsync {

	void calculateOrder(long orgId, long propId, OrderView order, AsyncCallback<Integer> callback);

	void createOrder(long orgId, long propId, OrderView order, AsyncCallback<OrderView> callback);

	void findInRoomOrders(long orgId, long propId, Date startTime, Date endTime, String firstName, String lastName,
			String status, Long categoryId, String roomNo, int start, int numResults,
			AsyncCallback<SearchResultsContainer<InRoomOrderView>> callback);

	void findInRoomOrders(long orgId, long propId, Date startTime, Date endTime, int start, int numResults,
			AsyncCallback<SearchResultsContainer<InRoomOrderView>> callback);

	void getOrderView(long id, AsyncCallback<OrderView> callback);

	void getInRoomOrderHistory(long guestProfileId, int start, int numResults,
			AsyncCallback<SearchResultsContainer<InRoomOrderView>> callback);

	void updateInRoomOrderList(List<InRoomOrderView> orderList, AsyncCallback<List<InRoomOrderView>> callback);

}
